<?php
class PhongbanController extends Controller
{
    public function view()
    {
        if (!isset($_SESSION['user'])) {
            throw new Exception('Không đủ quyền truy cập, vui lòng đăng nhập');
        }
        $this->assign('admin', $_SESSION['user']['type'] == 'admin');

        $phongban = new Phongban();
        $this->assign('pb_list', $phongban->selectAll());
    }

    private function preUpdate($id)
    {
        $id = rtrim($id, '/');
        $this->assign('pb_ten', $this->_model->getTen($id));
        $this->assign('pb_id', $id);
    }

    public function edit($id)
    {
        $this->preUpdate($id);
        $this->assign('type', 'edit');
    }

    public function xoa($id)
    {
        $this->preUpdate($id);
    }

    public function them()
    {
        $this->assign('type', 'add');
        $this->assign('them', true);
    }


    public function process()
    {
        if (isset($_POST['submit'])) {
            $requestType = strtolower($_POST['type']);
            if ($requestType == 'edit') {
                # Sửa phòng ban
                $this->_model->update_ten($_POST['pb_id'], $_POST['pb_ten']);
                $this->assign('info', 'Sửa đổi thành công!');
            } elseif ($requestType == 'delete') {
                $this->_model->delPhongBan($_POST['pb_id']);
                $this->assign('info', 'Xóa hoàn tất!');
            } elseif ($requestType == 'add') {
                $newId = $this->_model->addPhongBan($_POST['pb_ten']);
                $this->assign('info', "Thêm phòng/ban <strong>{$newId} - {$_POST['pb_ten']}</strong> thành công!");
            } else {
                $this->assign('info', 'Yêu cầu không hợp lệ!');
            }
        } else {
            $this->assign('info', 'Không có yêu cầu cần xử lý!');
        }

        $this->assign('redirect', '/phongban/view');
    }
}